/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.view;

import com.model.Buku;
import com.model.Perpustakaan;
import com.model.Publikasi;
import com.model.TimerBacaPublikasi;
import com.model.TimerSimpanPublikasi;
import java.awt.event.*;
import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;

/**
 *
 * @author admin
 */
public class FrameUtama extends JFrame {

    private JMenuBar menuBar;
    private JMenu menuPublikasi;
    private JMenu menuAnggota;
    private JMenu menuPinjaman;
    private JMenuItem menuTambahPublikasi;
    private JMenuItem menuSimpanPublikasi;
    private JMenuItem menuLihatPublikasi;
    private JMenuItem menuSimpanTabelPublikasi;
    private JMenuItem menuBacaTabelPublikasi;
    private JMenuItem menuBacaPublikasi;
    private JMenuItem menuKeluar;
    private JMenuItem menuTambahAnggota;
    private JMenuItem menuTambahFoto;
    private JMenuItem menuSimpanAnggota;
    private JMenuItem menuBacaAnggota;
    private JMenuItem menuTambahPinjaman;
    private JMenuItem menuLihatAnggota;
    private JMenuItem menuSimpanTabelAnggota;
//    private Object menuBacaPublikasiDariTable;
//    private Object menuSimpanPublikasiKeTable;

    public FrameUtama() {
        inisialisasi();

    }

    public void inisialisasi() {
//        TimerBacaPublikasi timerBaca = new TimerBacaPublikasi(5000);
//        TimerSimpanPublikasi timerSimpan = new TimerSimpanPublikasi(5000);


        this.setSize(400, 400);
        menuBar = new JMenuBar();
        setJMenuBar(menuBar);
        menuPublikasi = new JMenu("Publikasi");
        menuBar.add(menuPublikasi);
        menuAnggota = new JMenu("Anggota");
        menuBar.add(menuAnggota);
        menuPinjaman = new JMenu("Pinjaman");
        menuBar.add(menuPinjaman);
        this.setVisible(true);

        menuTambahPublikasi = new JMenuItem("Tambah Publikasi");
        menuLihatPublikasi = new JMenuItem("Lihat Publikasi");
        menuSimpanPublikasi = new JMenuItem("Simpan File");
        menuBacaPublikasi = new JMenuItem("Baca File");
        menuSimpanTabelPublikasi = new JMenuItem("Simpan Tabel");
        menuBacaTabelPublikasi = new JMenuItem("Baca Tabel");
        menuKeluar = new JMenuItem("Keluar");

        menuTambahPublikasi.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                menuTambahPublikasiAction();
            }

            public void menuTambahPublikasiAction() {

                JDialog testDialog = new JDialog();
                testDialog.setTitle("Design Preview [PanelTambahPublikasi]");
                PanelTambahPublikasi testPanel = new PanelTambahPublikasi();
                testDialog.getContentPane().add(testPanel);
                testDialog.setSize(410, 400);
                testDialog.setVisible(true);
            }
        });

        menuLihatPublikasi.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                menuLihatPublikasiAction();
            }

            public void menuLihatPublikasiAction() {

                JDialog testFrame = new JDialog();
                JDialog testDialog = new JDialog();
                testDialog.setSize(400, 400);
                testDialog.setTitle("Design Preview [PanelTambahPublikasi]");
                PanelLihatPublikasi testPanel2 = new PanelLihatPublikasi(Perpustakaan.DAFTAR_PUBLIKASI);
                testDialog.getContentPane().add(testPanel2);

                testDialog.setVisible(true);
            }
        });

        menuSimpanPublikasi.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                menuSimpanFilePublikasi();
            }

            public void menuSimpanFilePublikasi() {
                Perpustakaan.simpanFilePublikasi();
            }
        });

        menuBacaPublikasi.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                menuBacaFilePublikasi();
            }

            public void menuBacaFilePublikasi() {
                JDialog testDialog = new JDialog();
                testDialog.setTitle("Design Preview [DaftarPublikasi]");
                PanelBacaFilePublikasi testPanel = new PanelBacaFilePublikasi();
                testDialog.getContentPane().add(testPanel);
                testDialog.setSize(410, 400);
                testDialog.setVisible(true);
            }
        });

        menuTambahAnggota = new JMenuItem("Tambah Anggota");

        menuSimpanAnggota = new JMenuItem("Simpan Anggota");
        menuTambahFoto = new JMenuItem("Tambah Foto ");
        menuBacaAnggota = new JMenuItem("Baca Anggota");
        menuSimpanTabelAnggota = new JMenuItem("Simpan ke Tabel");
        menuLihatAnggota = new JMenuItem("Lihat Anggota");

        menuTambahAnggota.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                menuTambahAnggotaAction();
            }
        });

        menuSimpanAnggota.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                menuSimpanAnggotaAction();
            }

            public void menuSimpanAnggotaAction() {
                Perpustakaan.simpanFileAnggota();
            }
        });

        menuBacaAnggota.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                menuBacaFileAnggota();
            }

            public void menuBacaFileAnggota() {
                JDialog testDialog1 = new JDialog();
                testDialog1.setTitle("Design Preview [DaftarAnggota]");
                PanelBacaFileAnggota testPanel1 = new PanelBacaFileAnggota();
                testDialog1.getContentPane().add(testPanel1);
                testDialog1.setSize(410, 400);
                testDialog1.setVisible(true);


            }
        });

        menuTambahPinjaman = new JMenuItem("TambahPinjaman");
        menuTambahPinjaman.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                menuTambahPinjamanAction();
            }
        });
        menuPublikasi.add(menuTambahPublikasi);
        menuPublikasi.add(menuLihatPublikasi);
        menuPublikasi.add(menuSimpanPublikasi);
        menuPublikasi.add(menuBacaPublikasi);
        menuPublikasi.add(menuSimpanTabelPublikasi);
        menuPublikasi.add(menuBacaTabelPublikasi);
        menuPublikasi.add(menuKeluar);
        menuAnggota.add(menuTambahAnggota);
        menuAnggota.add(menuSimpanAnggota);
        menuAnggota.add(menuTambahFoto);
        menuAnggota.add(menuLihatAnggota);
        menuAnggota.add(menuSimpanTabelAnggota);
        menuAnggota.add(menuBacaAnggota);
        menuPinjaman.add(menuTambahPinjaman);

        this.setVisible(true);


        menuLihatAnggota.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                menuLihatAnggotaAction();
            }
        });

        menuTambahFoto.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                menuTambahFotoAnggotaAction();
            }

            private void menuTambahFotoAnggotaAction() {
                JDialog testFrame = new JDialog();
                PanelTambahFotoAnggota testPanel = new PanelTambahFotoAnggota();
                testFrame.getContentPane().add(testPanel);
                testFrame.setSize(500, 400);
                testFrame.setVisible(true);
                testFrame.setTitle("Design Preview [Panel Tambah Foto Anggota]");
            }
        });
        menuSimpanTabelPublikasi.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                menuSimpanPublikasiKeTableAction();
            }
        });
        menuSimpanTabelAnggota.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                menuSimpanAnggotaKeTableAction();
            }
        });
        menuBacaPublikasi.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                menuBacaPublikasiDariTableAction();
            }
        });
        menuBacaAnggota.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                menuBacaAnggotaDariTableAction();
            }
        });
    }

    public void menuTambahPublikasiAction() {
        JDialog testFrame = new JDialog();
        PanelTambahPublikasi testPanel = new PanelTambahPublikasi();
        testFrame.getContentPane().add(testPanel);
        testFrame.setSize(500, 400);
        testFrame.setVisible(true);
        testFrame.setTitle("Design Preview [PanelTambahPublikasi]");
    }

    public void menuSimpanFilePublikasiAction() throws IOException {
        Perpustakaan.simpanFilePublikasi();
    }

    public void menuBacaFilePublikasiAction() {
        JFrame testFrame = new JFrame();
        PanelLihatPublikasi testPanel = new PanelLihatPublikasi();
        testFrame.getContentPane().add(testPanel);
        testFrame.setSize(500, 400);
        testFrame.setVisible(true);
        testFrame.setTitle("Panel Baca File Publikasi");
    }

    public void menuTambahAnggotaAction() {
        JDialog testFrame = new JDialog();
        PanelTambahAnggota testAnggota = new PanelTambahAnggota();
        testFrame.getContentPane().add(testAnggota);
        testFrame.setSize(500, 400);
        testFrame.setVisible(true);
        testFrame.setTitle("Design Preview [PanelTambahAnggota]");
    }

    public void menuSimpanFileAnggotaAction() throws IOException {
        Perpustakaan.simpanFileAnggota();
    }

    public void menuBacaFileAnggotaAction() {
        JFrame testFrame = new JFrame();
        PanelLihatAnggota testPanel = new PanelLihatAnggota();
        testFrame.getContentPane().add(testPanel);
        testFrame.setSize(500, 400);
        testFrame.setVisible(true);
        testFrame.setTitle("Panel Baca Anggota");
    }

    public void menuTambahPinjamanAction() {
        JDialog testFrame = new JDialog();
        PanelTambahPinjaman testPinjaman = new PanelTambahPinjaman();
        testFrame.getContentPane().add(testPinjaman);
        testFrame.setSize(500, 400);
        testFrame.setVisible(true);
        testFrame.setTitle("Design Preview [PanelTambahPinjaman]");
    }

    public void menuLihatPublikasiAction() {
        JDialog testFrame = new JDialog();
        PanelLihatPublikasi test = new PanelLihatPublikasi(Perpustakaan.DAFTAR_PUBLIKASI);
        testFrame.getContentPane().add(test);
        testFrame.setSize(500, 400);
        testFrame.setVisible(true);
        testFrame.setTitle("Design Preview [PanelLihatPublikasi]");
    }

    public void menuSimpanPublikasiKeTableAction()  {
        Perpustakaan.simpanTabelPublikasi();
    }

    public void menuBacaPublikasiDariTableAction() {
        Perpustakaan.bacaTabelPublikasi();
    }

    public void menuLihatAnggotaAction() {
        JDialog testFrame = new JDialog();
        PanelLihatAnggota test = new PanelLihatAnggota(Perpustakaan.DAFTAR_ANGGOTA);
        testFrame.getContentPane().add(test);
        testFrame.setSize(500, 400);
        testFrame.setVisible(true);
        testFrame.setTitle("Design Preview [PanelLihatAnggota]");
    }

    public void menuSimpanAnggotaKeTableAction() {
        Perpustakaan.simpanTabelAnggota();
    }

    public void menuBacaAnggotaDariTableAction() {
        Perpustakaan.bacaTabelAnggota();
    }
}
